package com.boatAnchorAssistant.service.service.in;

import nirvana.core.domains.vo.PageResult;
import com.boatAnchorAssistant.pojo.param.expandField.*;
import com.boatAnchorAssistant.pojo.vo.expandField.*;

import java.util.List;


/**
 * 【描 述】：拓展字段服务
 * 【环 境】：J2SE
 * 【详 细】：
 */
public interface ExpandFieldService {

    /**
     * 创建拓展字段
     *
     * @param param
     */
    void createExpandField(CreateExpandFieldParam param);


    /**
     * 保存拓展字段
     * @param param
     */
    void saveExpandField(SaveExpandFieldParam param);

    /**
     * 修改拓展字段
     *
     * @param param
     */
    void editExpandField(EditExpandFieldParam param);

    /**
     * 移除拓展字段
     *
     * @param id
     */
    void removeExpandField(Long id);

    /**
     * 启动/禁用拓展字段
     *
     * @param id
     */
    void enabledExpandField(Long id);

    /**
     * 获取拓展字段详情
     *
     * @param id
     * @return
     */
    GetExpandFieldVo getExpandField(Long id);

    /**
     * 获取拓展字段列表
     *
     * @param param
     * @return
     */
    PageResult<GetExpandFieldListVo> getExpandFieldList(GetExpandFieldListParam param);


    /**
     * 获取拓展字段下拉列表
     *
     * @param param
     * @return
     */
    List<GetExpandFieldDownListVo> getExpandFieldDownList(GetExpandFieldDownListParam param);


    /**
     * 获取模块列表
     * @return
     */
    List<GetModelListVo> getModelList();

}